package com.hongdee.rbac.res.service;

import com.hongdee.rbac.res.entity.TBcResource;

import java.util.List;
import java.util.Map;

/**
 * Created by My on 2017-01-11.
 */
public interface ITBcResourceService {

    /**
     * 方法名称: info
     * 方法描述: 根据 ID 查询实体详情
     * 参数名称: String id
     * 返回内容: TBcResource 实例
     * 异常说明:
     * 创建用户:
     * 创建时间:
     * 修改用户:
     * 修改时间:
     * 修改内容:
     */
    public Map info(String id) throws Exception;

    /**
     * 方法名称: save
     * 方法描述: TBcResource 实例
     * 参数名称: TBcResource  保存后的实体对象
     * 返回内容: 无
     * 异常说明:
     * 创建用户:
     * 创建时间:
     * 修改用户:
     * 修改时间:
     * 修改内容:
     */
    public TBcResource save(TBcResource data) throws Exception;


    /**
     * 方法名称: del
     * 方法描述: 根据 ID 集合删除记录
     * 参数名称: String ids
     * 返回内容: 无
     * 异常说明:
     * 创建用户:
     * 创建时间:
     * 修改用户:
     * 修改时间:
     * 修改内容:
     */
    public void update(String id, String status) throws Exception;


    /**
     * 方法名称:child
     * 方法描述: 查询当前资源的子级资源
     * 参数名称: a
     * 参数名称: b
     * 返回内容:
     * 异常说明:
     * 创建用户:
     * 创建时间:
     * 修改用户:
     * 修改时间:
     * 修改内容:
     */
    public List<Map<String, Object>> child(String node) throws Exception;

    /**
     * 方法名称:menu
     * 方法描述:查询当前资源的所有子资源
     * 参数名称: a
     * 参数名称: b
     * 返回内容:
     * 异常说明:
     * 创建用户:
     * 创建时间:
     * 修改用户:
     * 修改时间:
     * 修改内容:
     */
    public List menu(String node, String resId) throws Exception;

    /**
     * 方法名称: BuildTreeChild
     * 方法描述: 查询左侧资源树，同步一次性加载
     * 参数名称: resId 子系统 ID
     * 返回内容: 无
     * 异常说明: 抛出异常Exception
     * 创建用户: MissJin
     * 创建时间: 2017/1/21/16:28
     * 修改用户:
     * 修改时间:
     * 修改内容:
     */
    public List tree(String resId) throws Exception;

    /**
     * 方法名称: findTreeChild
     * 方法描述: 根据资源 ID 查询下级菜单
     * 参数名称: string id 资源ID
     * 返回内容:
     * 异常说明:
     * 创建用户:
     * 创建时间:
     * 修改用户:
     * 修改时间:
     * 修改内容:
     */
    public List findTreeChild(String id) throws Exception;

    /**
     * 查询用户有权限分配的资源树
     *
     * @param id
     * @return
     */
    List userResTree(String id, String uid) throws Exception;
}
